package com.rabbiter.hwm.service;

import com.rabbiter.hwm.controller.dto.StudentDTO;
import com.rabbiter.hwm.entity.StudentFile;

/**
 * 自动批改服务接口
 */
public interface IAutoCheckService {

    /**
     * 自动批改作业
     * @param studentFile 学生提交的作业
     * @return 批改后的作业信息，包含分数和状态
     */
    StudentDTO autoCheckHomework(StudentFile studentFile);

    /**
     * 设置作业的参考答案关键词
     * @param userFileId 作业ID
     * @param keywords 关键词，格式为：关键词1:权重1,关键词2:权重2,...
     */
    void setAnswerKeywords(Integer userFileId, String keywords);

    /**
     * 获取作业的参考答案关键词
     * @param userFileId 作业ID
     * @return 关键词字符串
     */
    String getAnswerKeywords(Integer userFileId);

    /**
     * 批量自动批改作业
     * @param userFileId 作业ID
     * @return 批改的作业数量
     */
    int batchAutoCheckHomework(Integer userFileId);
}